package com.sun.showcase.biz.mall.service;

import com.sun.showcase.client.domain.mall.Member;
import com.sun.showcase.client.query.mall.MemberQuery;
import com.sun.showcase.pojo.DataGrid;
import com.sun.showcase.utils.ExecuteResult;

import java.util.List;

public interface MemberService{

	/**
	 * 获得数据表格
	 * 
	 * @param
	 * @return
	 */
	public DataGrid datagrid(MemberQuery memberQuery);

	/**
	 * 添加
	 * 
	 * @param memberQuery
	 */
	public Member add(MemberQuery memberQuery);

	/**
	 * 修改
	 * 
	 * @param memberQuery
	 */
	public void update(MemberQuery memberQuery) ;
	
	/**
	 *  根据条件更新部分字段
	 * 
	 * @param memberQuery
	 */
	public void updatePart(MemberQuery memberQuery) ;

	/**
	 * 物理删除
	 * 
	 * @param ids
	 */
	public void delete(String[] ids);

	/**
	 * 逻辑删除 更新状态位
	 *
	 * @param ids
	 */
	public void deletePt(String[] ids);

	/**
	 * 获得
	 *
	 * @param Member
	 * @return
	 */
	public Member get(MemberQuery memberQuery);


	/**
	 * 获得
	 *
	 * @param
	 * @return
	 */
	public Member get(String id);

	/**
	 * 获取所有数据
	 */
	public List<MemberQuery> listAll(MemberQuery memberQuery);

	public Member save(MemberQuery query);
	/**
	 * 使用手机号+密码登录
	 * @return
	 */
	public ExecuteResult<Member> loginWithPhoneAndPwd(MemberQuery query);
	/**
	 * 使用手机号+密码注册
	 * @return
	 */
	public ExecuteResult<Member> registWithPhoneAndPwd(MemberQuery query);

	public Long updateBalance(String id,
                              Double balance,
                              Double frozenBalance);
	
	public void toBeAgent(String id);
}
